package com.smart.community.region.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.smart.community.region.dto.OwnerQueryDTO;
import com.smart.community.region.vo.OwnerVO;

/**
 * 业主列表查询服务
 * 负责业主列表查询优化，增加关联状态查询，支持未关联业主显示
 * 
 * @author Wu.Liang
 * @since 2025-08-22
 * @version 1.0.0
 */
public interface OwnerListService {
    
    /**
     * 获取业主列表（包含关联状态）
     * 
     * @param queryDTO 查询条件
     * @return 分页结果
     * @throws Exception 查询异常
     */
    IPage<OwnerVO> getOwnerListWithAssociation(OwnerQueryDTO queryDTO) throws Exception;
    
    /**
     * 获取未关联房户的业主列表
     * 
     * @param queryDTO 查询条件
     * @return 分页结果
     * @throws Exception 查询异常
     */
    IPage<OwnerVO> getUnassociatedOwnerList(OwnerQueryDTO queryDTO) throws Exception;
    
    /**
     * 获取已关联房户的业主列表
     * 
     * @param queryDTO 查询条件
     * @return 分页结果
     * @throws Exception 查询异常
     */
    IPage<OwnerVO> getAssociatedOwnerList(OwnerQueryDTO queryDTO) throws Exception;
}
